package com.entity.generate;

import cn.hutool.db.meta.Column;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * @ClassName GenerateParameters
 * @Description TODO
 * @Author 谭庆伟
 * @Date 2020/9/6 11:56
 * @Version 1.0
 **/
public class GenerateParameters {



    private String vuePath;
    //主键驼峰
    private String pkNameCamelCase;
    private String className ;
    //小驼峰
    private String camelCaseClassName ;
    //表名
    private String tableName ;
    //表注释
    private String tableComment ;
    //列别名
    private String columnAlias ;
    //列集合
    private Collection<Column> tableColumns = null;
    //主键名
    private String pkName ;
    //外键集合
    private List<FkBean> fkList = new ArrayList<>();
    //mapper生成时需要的<where>
    private String tableWhere;
    //mapper生成时需要的<where>下的<if>标签
    private String tableIf ;
    //mapper生成时需要的带表名的列 如： xl_user.name as xlUserName
    private String columnAliasWithTableName;
    //mapper生成时需要的<where>下的<if>标签,带表名
    private String tableIfWithTableName;
    //去除主键id的列
    private String noKeyColumnsVal ;
    //mapper生成时需要的<update> 的<if>标签
    private String updateIf ;
    //mapper生成时需要的<select id = queryAllJoin>的内容
    private String queryAllJoin ;
    //mapper生成时需要的<select id = queryAll>的内容
    private String queryAll ;
    private String resourcesPath;
    private String ruleJson;
    private String tableHeader ;
    private String indexSerch ;
    private String noKeyColumns ;


    private String addItems ;
    private String classNameJson ;
    private String writePath;
    private String noKeyColumnsValWithMap;
    private String dbName;

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    private String packageName;



    public String getDbName() {
        return dbName;
    }

    public void setDbName(String dbName) {
        this.dbName = dbName;
    }

    public String getColumnAliasWithTableName() {
        return columnAliasWithTableName;
    }

    public void setColumnAliasWithTableName(String columnAliasWithTableName) {
        this.columnAliasWithTableName = columnAliasWithTableName;
    }



    public String getTableIfWithTableName() {
        return tableIfWithTableName;
    }

    public void setTableIfWithTableName(String tableIfWithTableName) {
        this.tableIfWithTableName = tableIfWithTableName;
    }




    public String getAddItems() {
        return addItems;
    }

    public void setAddItems(String addItems) {
        this.addItems = addItems;
    }



    public String getClassNameJson() {
        return classNameJson;
    }

    public void setClassNameJson(String classNameJson) {
        this.classNameJson = classNameJson;
    }



    public String getTableHeader() {
        return tableHeader;
    }

    public void setTableHeader(String tableHeader) {
        this.tableHeader = tableHeader;
    }



    public String getIndexSerch() {
        return indexSerch;
    }

    public void setIndexSerch(String indexSerch) {
        this.indexSerch = indexSerch;
    }





    public String getRuleJson() {
        return ruleJson;
    }



    public String getVuePath() {
        return vuePath;
    }

    public void setVuePath(String vuePath) {
        this.vuePath = vuePath;
    }

    public String getPkNameCamelCase() {
        return pkNameCamelCase;
    }

    public void setPkNameCamelCase(String pkNameCamelCase) {
        this.pkNameCamelCase = pkNameCamelCase;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getCamelCaseClassName() {
        return camelCaseClassName;
    }

    public void setCamelCaseClassName(String camelCaseClassName) {
        this.camelCaseClassName = camelCaseClassName;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getTableComment() {
        return tableComment;
    }

    public void setTableComment(String tableComment) {
        this.tableComment = tableComment;
    }

    public String getColumnAlias() {
        return columnAlias;
    }

    public void setColumnAlias(String columnAlias) {
        this.columnAlias = columnAlias;
    }

    public Collection<Column> getTableColumns() {
        return tableColumns;
    }

    public void setTableColumns(Collection<Column> tableColumns) {
        this.tableColumns = tableColumns;
    }

    public String getPkName() {
        return pkName;
    }

    public void setPkName(String pkName) {
        this.pkName = pkName;
    }

    public List<FkBean> getFkList() {
        return fkList;
    }

    public void setFkList(List<FkBean> fkList) {
        this.fkList = fkList;
    }

    public String getTableWhere() {
        return tableWhere;
    }

    public void setTableWhere(String tableWhere) {
        this.tableWhere = tableWhere;
    }

    public String getTableIf() {
        return tableIf;
    }

    public void setTableIf(String tableIf) {
        this.tableIf = tableIf;
    }

    public String getNoKeyColumns() {
        return noKeyColumns;
    }

    public void setNoKeyColumns(String noKeyColumns) {
        this.noKeyColumns = noKeyColumns;
    }

    public String getNoKeyColumnsVal() {
        return noKeyColumnsVal;
    }

    public void setNoKeyColumnsVal(String noKeyColumnsVal) {
        this.noKeyColumnsVal = noKeyColumnsVal;
    }

    public String getUpdateIf() {
        return updateIf;
    }

    public void setUpdateIf(String updateIf) {
        this.updateIf = updateIf;
    }

    public String getQueryAllJoin() {
        return queryAllJoin;
    }

    public void setQueryAllJoin(String queryAllJoin) {
        this.queryAllJoin = queryAllJoin;
    }

    public String getQueryAll() {
        return queryAll;
    }

    public void setQueryAll(String queryAll) {
        this.queryAll = queryAll;
    }

    public String getResourcesPath() {
        return resourcesPath;
    }

    public void setResourcesPath(String resourcesPath) {
        this.resourcesPath = resourcesPath;
    }

    public String getWritePath() {
        return writePath;
    }

    public void setWritePath(String writePath) {
        this.writePath = writePath;
    }

    public String getNoKeyColumnsValWithMap() {
        return noKeyColumnsValWithMap;
    }

    public void setNoKeyColumnsValWithMap(String noKeyColumnsValWithMap) {
        this.noKeyColumnsValWithMap = noKeyColumnsValWithMap;
    }


    public void setRuleJson(String ruleJson) {
        this.ruleJson = ruleJson;
    }

    public void setColumnAliasWithTable(String columnAliasWithTableName) {
        this.columnAliasWithTableName = columnAliasWithTableName;
    }
}
